Built 26/04/15 21:42commit 9419fc3
中文 | English
Squash Merge 与 PR 尺寸分布 —— Boris Cherny 的建议
这是 Boris Cherny(@bcherny)在 2026-03-25 分享的两条洞见总结。
1/ 单日 266 次贡献:始终使用 Squash
Boris 展示了自己的 GitHub contribution graph:3 月 24 日一天有 266 次贡献,来自 141 个 PR,并且 全部采用 squash merge,PR 中位数仅 118 行。
- Squash merge 会把分支上的多个提交压成目标分支上的一个提交,使历史保持干净、线性。
- “一个 PR = 一个提交” 让整体验证与回滚更简单,也更利于
git bisect。 - 在高吞吐的 AI 辅助工作流里,分支上那些“修 lint”“再试一次”式提交大多只是噪音。
2/ PR 尺寸分布:保持 PR 小而快
Boris 还分享了这 141 个 PR 的尺寸分布,总计 45,032 行改动(增加 + 删除):
| 指标 | 行数(增删总计) | 含义 |
|---|---|---|
| p50 | 118 | PR 中位数:一半 PR 不超过 118 行 |
| p90 | 498 | 90% 的 PR 小于 500 行 |
| p99 | 2,978 | 只有极少数 PR 会接近或超过 3K 行 |
结论并不是“绝不能做大 PR”,而是高速度 agent 工作流更依赖 小 PR、廉价 review、快速 squash 合并 的整体节奏。